package br.com.foxinline.manager.pesquisar.ep;


import br.com.foxinline.modelo.ep.NaturezaEscritura;
import br.com.foxinline.servico.ep.NaturezaEscrituraServico;
import br.com.foxinline.utilitario.Mensagem;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;

/**
 *
 * @author cadomeireles
 */
@ViewScoped
@ManagedBean
public class ManagerPesquisarNaturezaEscritura implements Serializable {

    @EJB
    NaturezaEscrituraServico naturezaEscrituraServico;
    
    private NaturezaEscritura naturezaEscritura;    
    private NaturezaEscritura naturezaEscrituraVisualizar;    
    private NaturezaEscritura naturezaEscrituraDeletar;
    private List<NaturezaEscritura> naturezasEscritura;
    
    private String visualizarId;
    
    @PostConstruct
    public void init() {
        instanciar();
        delegar();
    }
    
    private void instanciar() {
        this.naturezaEscritura = new NaturezaEscritura();
        this.naturezaEscrituraVisualizar = new NaturezaEscritura();
        this.naturezaEscrituraDeletar = new NaturezaEscritura();
        this.naturezasEscritura = new ArrayList<NaturezaEscritura>();
    }

    private void delegar() {
        Map<String, String> parametros = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
        this.visualizarId = parametros.get("naturezaEscrituraId");
        
        if (visualizarId != null) {
            this.naturezaEscrituraVisualizar = naturezaEscrituraServico.pesquisar(Long.parseLong(visualizarId));
        }
    }

    public void pesquisar() {
        this.naturezasEscritura = naturezaEscrituraServico.pesquisar(this.naturezaEscritura);
    }    
    
    public void limpar() {
        instanciar();
    }
    
    public void deletar() {
        naturezaEscrituraServico.deletar(this.naturezaEscrituraDeletar);
        pesquisar();
        
        Mensagem.messagemInfo("Natureza da Escritura excluída com sucesso!");
    }

    public NaturezaEscritura getNaturezaEscritura() {
        return naturezaEscritura;
    }

    public void setNaturezaEscritura(NaturezaEscritura naturezaEscritura) {
        this.naturezaEscritura = naturezaEscritura;
    }

    public NaturezaEscritura getNaturezaEscrituraDeletar() {
        return naturezaEscrituraDeletar;
    }

    public void setNaturezaEscrituraDeletar(NaturezaEscritura naturezaEscrituraDeletar) {
        this.naturezaEscrituraDeletar = naturezaEscrituraDeletar;
    }

    public NaturezaEscritura getNaturezaEscrituraVisualizar() {
        return naturezaEscrituraVisualizar;
    }

    public void setNaturezaEscrituraVisualizar(NaturezaEscritura naturezaEscrituraVisualizar) {
        this.naturezaEscrituraVisualizar = naturezaEscrituraVisualizar;
    }

    public List<NaturezaEscritura> getNaturezasEscritura() {
        return naturezasEscritura;
    }

    public void setNaturezasEscritura(List<NaturezaEscritura> naturezasEscritura) {
        this.naturezasEscritura = naturezasEscritura;
    }
   
}
